.region-bindings-container {
  min-height: 100vh;
  background-color: #f5f5f5;
  display: flex;
  flex-direction: column;
}

.main-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 20rpx;
}

.add-section {
  margin-bottom: 20rpx;

  .add-btn {
    width: 100%;
    background: linear-gradient(135deg, #48c6ef 0%, #6f86d6 100%);
    color: white;
    padding: 30rpx;
    border-radius: 16rpx;
    font-size: 30rpx;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    box-shadow: 0 8rpx 16rpx rgba(72, 198, 239, 0.3);

    &::after {
      border: none;
    }

    .btn-icon {
      font-size: 36rpx;
      margin-right: 10rpx;
    }
  }
}

.binding-list {
  flex: 1;
  height: calc(100vh - 200rpx);
}

.binding-card {
  background: white;
  border-radius: 16rpx;
  padding: 30rpx;
  margin-bottom: 20rpx;
  box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.05);

  .card-header {
    margin-bottom: 20rpx;

    .binding-info-row {
      display: flex;
      justify-content: space-between;
      align-items: center;

      .binding-id {
        font-size: 26rpx;
        color: #666;
      }

      .binding-status {
        padding: 8rpx 16rpx;
        border-radius: 16rpx;
        font-size: 24rpx;
        font-weight: 500;

        &.status-active {
          background: #e8f5e8;
          color: #5cb85c;
        }

        &.status-inactive {
          background: #f5f5f5;
          color: #999;
        }
      }
    }
  }

  .card-content {
    .info-item {
      display: flex;
      padding: 15rpx 0;
      border-bottom: 1rpx solid #f0f0f0;

      &:last-child {
        border-bottom: none;
      }

      .info-label {
        font-size: 28rpx;
        color: #999;
        min-width: 180rpx;
      }

      .info-value {
        font-size: 28rpx;
        color: #333;
        flex: 1;
      }
    }
  }

  .card-actions {
    display: flex;
    gap: 15rpx;
    margin-top: 25rpx;

    .action-btn {
      flex: 1;
      padding: 18rpx 20rpx;
      border-radius: 12rpx;
      font-size: 26rpx;
      border: none;

      &.primary {
        background: #5cb85c;
        color: white;
      }

      &.warning {
        background: #ffc107;
        color: white;
      }

      &.danger {
        background: #ff4757;
        color: white;
      }

      &::after {
        border: none;
      }
    }
  }
}

.loading-more,
.no-more,
.loading-state {
  text-align: center;
  padding: 30rpx 0;

  .loading-text,
  .no-more-text {
    font-size: 26rpx;
    color: #999;
  }
}

.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 100rpx 60rpx;
  text-align: center;

  .empty-icon {
    width: 200rpx;
    height: 200rpx;
    margin-bottom: 30rpx;
    opacity: 0.3;
  }

  .empty-text {
    font-size: 30rpx;
    color: #999;
    margin-bottom: 10rpx;
  }

  .empty-desc {
    font-size: 26rpx;
    color: #ccc;
    margin-bottom: 40rpx;
  }

  .empty-btn {
    background: linear-gradient(135deg, #48c6ef 0%, #6f86d6 100%);
    color: white;
    padding: 20rpx 60rpx;
    border-radius: 50rpx;
    font-size: 28rpx;
    border: none;

    &::after {
      border: none;
    }
  }
}

// 弹窗样式
.modal-mask {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.modal-content {
  width: 600rpx;
  max-height: 80vh;
  background: white;
  border-radius: 20rpx;
  overflow: hidden;
}

.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 30rpx;
  border-bottom: 1rpx solid #f0f0f0;

  .modal-title {
    font-size: 32rpx;
    font-weight: 600;
    color: #333;
  }

  .modal-close {
    font-size: 48rpx;
    color: #999;
    line-height: 1;
  }
}

.modal-body {
  padding: 30rpx;
  max-height: 60vh;
  overflow-y: auto;
}

.modal-form-item {
  margin-bottom: 30rpx;

  &:last-child {
    margin-bottom: 0;
  }

  .modal-label {
    display: block;
    font-size: 28rpx;
    color: #333;
    margin-bottom: 15rpx;

    .required {
      color: #ff4757;
      margin-left: 5rpx;
    }
  }

  .modal-input {
    width: 100%;
    padding: 20rpx;
    background: #f8f9fa;
    border-radius: 8rpx;
    font-size: 28rpx;
    border: 1rpx solid #e9ecef;
  }

  .picker-view {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20rpx;
    background: #f8f9fa;
    border-radius: 8rpx;
    font-size: 28rpx;
    border: 1rpx solid #e9ecef;

    .placeholder {
      color: #999;
    }

    .picker-arrow {
      font-size: 36rpx;
      color: #999;
      transform: rotate(270deg);
    }
  }
}

.modal-footer {
  display: flex;
  border-top: 1rpx solid #f0f0f0;

  .modal-btn {
    flex: 1;
    padding: 30rpx;
    font-size: 30rpx;
    border: none;
    border-radius: 0;

    &::after {
      border: none;
    }

    &.cancel {
      background: #f8f9fa;
      color: #666;
    }

    &.confirm {
      background: linear-gradient(135deg, #48c6ef 0%, #6f86d6 100%);
      color: white;
      font-weight: 500;
    }
  }
}
